package com.coderush.admin.sys.model.dto;

import com.alibaba.fastjson2.JSON;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * PackageName com.stellarforce.admin.sys.model.dto
 *
 * @Author Eason
 * @Version v1.0
 * @ClassName CompanyDto
 * @Date 2025/8/17
 * @Description TODO
 */
@Data
@Schema(description = "添加公司数据模型")
public class CompanyAddDto {

    /**
     * 公司编码（唯一标识，可用于系统集成）
     */
    @Schema(description = "公司编码", example = "GS-001", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "公司编码不能为空")
    @Size(min = 2, max = 50, message = "公司编码长度必须在2-30之间")
    private String companyCode = "";

    /**
     * 公司名称
     */
    @Schema(description = "公司名称", example = "阿里巴巴有限公司", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "公司名称不能为空")
    @Size(min = 2, max = 100, message = "公司名称长度必须在2-100之间")
    private String companyName = "";

    /**
     * 公司地址
     */
    @Schema(description = "公司地址", example = "浙江省杭州市西湖区文一西路969号")
    private String companyAddr = "";

    /**
     * 联系人
     */
    @Schema(description = "联系人", example = "马云")
    private String contacts = "";

    /**
     * 联系方式
     */
    @Schema(description = "联系方式", example = "18888")
    private String telephone = "";

    /**
     * 状态:1-可用，0-停用
     */
    @Schema(description = "公司状态")
    @NotNull(message = "状态不能为空")
    private Integer companyStatus = 0;


    public static void main(String[] args) {
        CompanyAddDto companyDto = new CompanyAddDto();
        companyDto.setCompanyCode("123");
        companyDto.setCompanyName("123");
        companyDto.setCompanyAddr("123");
        companyDto.setContacts("123");
        companyDto.setTelephone("123");
        companyDto.setCompanyStatus(1);
        System.out.println(JSON.toJSONString(companyDto));
    }

}